package com.xhsj.user.pms.patent.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.xhsj.user.hr.system.entity.TbGlobalUser;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tb_pam_disclosure")
public class Disclosure extends Model<Disclosure> {
    /**
     * 交底书表主键ID
     */
    @TableId("disclosure_id")
    private String disclosureId;

    /**
     * 交底书编号
     */
    @TableField("num")
    private String num;
    /**
     * 案卷号
     */
    @TableField("archives_num")
    private String archivesNum;
    /**
     * 交底书名称
     */
    @TableField("name")
    private String name;
    /**
     * 发明人
     */
    @TableField("inventor")
    private String inventor;

    /**
     * 申请文件数,即查重后IPR数量
     */
    @TableField("apply_num")
    private Integer applyNum;
    /**
     * 创建人ID
     */
    @TableField("created_user")
    private Long createdUser;
    /**
     * 创建时间
     */
    @TableField("created_time")
    private Date createdTime;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 重要性标识(0.未确定,1.重要,2.一般,3. 核心)
     */
    @TableField("significance_identify")
    private Integer significanceIdentify;
    /**
     * 节点名称
     */
    @TableField("node_name")
    private String nodeName;

    /**
     * 所属流程ID
     */
    @TableField("node_id")
    private String nodeId;

    /**
     * 专利id
     */
    @TableField("patent_id")
    private String patentId;

    /**
     * 项目名
     */
    @TableField("project_name")
    private String projectName;

    /**
     * 保护类型 0 发明 1 实用新型 2 双申
     */
    @TableField("protect_type")
    private Integer protectType;
    /**
     * 评审会表id
     */
    @TableField("judges_id")
    private String judgesId;

    /**
     * 冻结状态 ( 0 正常 1已冻结)
     */
    @TableField("frozen_status")
    private Integer frozenStatus;

    /**
     * 冻结备注
     */
    @TableField("frozen_remarks")
    private String frozenRemarks;

    @TableField(exist = false)
    private String judgesName;

    @TableField(exist = false)
    private List<DisclosureInventor> inventorList;
//    @TableField(exist = false)
//    private TbGlobalUser createUser;
//    @TableField(exist = false)
//    private Dept createDept;
    @TableField(exist = false)
    private String deptName;
    @TableField(exist = false)
    private String createdUserFullName;
    @TableField(exist = false)
    private String createdUserDeptName;
    @TableField(exist = false)
    private List<PatentFile> patentFileList;
    @TableField(exist = false)
    private String patentUserId;
    @TableField(exist = false)
    private boolean frozenButton;

    // 发明人建议IPR
    @TableField(exist = false)
    private List<Long> inventorProposalIprs;

    @TableField(exist = false)
    private List<Long> createdUserRoleId;

    /**
     * 作业人
     */
    @TableField(exist = false)
    private String conveyancer;


}